-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate Twingle Shop #69
Integrate Twingle Shop #69
Conversation
3f64c30
to
16d6c0c
Compare
Rebased on PR #71 |
2779daf
to
c3eddba
Compare
c3eddba
to
8de145a
Compare
c57cd39
to
a1b17cf
Compare
0a0df6a
to
1e60b37
Compare
6b09af8
to
afea6f1
Compare
c7e2616
to
c29b658
Compare
7d2d98f
to
771479d
Compare
771479d
to
4c9235c
Compare
Hi Marc, is this PR ready to be merged into master? Or do you need anything to make that happen? Best wishes! Daniel |
c6af4d6
to
33cb076
Compare
I rebased onto current |
Hello everyone, Unfortunately I haven't had time to write any tests yet. However, we have been running the shop integration since Christmas in my organization. I think it would be good if we could set up a kind of test framework that includes all the functions of the extension. Further tests for the shop integration could then be added there. I noticed somewhere that you had already written down a few ideas for this, @jensschuppe? |
@MarcMichalsky I think you're referring to #98 - which is basically about mocking requests to the various API endpoints/actions. I thought the write some tests part of this PR was about unit tests. Anyway, both tasks can be follow-up issues for not blocking a merge of the shop functionality. I think you and maybe @RoWo-DS running this in production (with prior manual testing) would suffice for releasing a new version of the extension with it. |
This has now been released with version @MarcMichalsky feel free to open follow-up issues for the remaining tasks. Thanks again for your work (and patience with the reviews)! 👍 |
I successfully tested the final pull request for regular donations and donations made with the Twingle shop (sync CiviCRM campaign to twinglemanager and sync donation from twinglemanager to CiviCRM). |
Thanks @jensschuppe! I will tackle the testing in a follow-up issue. @RoWo-DS And can you also synchronize the Twingle Shop products as line items? |
I don't know. Probably not. Where would I find the line items in CiviCRM? Do I need a special configuration to synchronise them from the twinglemanager? Update: I found the neccessary configuration within the Twingle API profile. It works, the shop products are synchronised as line items. |
This PR aims to integrate Twingle Shop orders with CiviCRM.
Objective
The objective of this Twingle Shop integration is not to blow up CiviCRM into a full-grown merchandise management system. For this reason I decided to not create a separate entity for shop orders.
On the other hand, orders should not only be attached to contributions as custom fields or notes, as this is not useful for optimizing order processes in my opinion. A workflow that also maps invoicing, status and shipping in CiviCRM after an order would be extremely inconvenient this way.
Therefore, I came to the conclusion that a viable solution is to map orders as contributions with line items and shops as price sets. This way, orders that do not arrive via the Twingle Shop, but e.g. by phone or mail, can be processed with the same workflow.
In order to match the created Twingle Shops with the existing price sets in CiviCRM, I want to use the Twingle API. Unlike in this extension, the communication is not from Twingle to CiviCRM but the other way round: CiviCRM retrieves the existing shops and products from Twingle and creates the corresponding price sets in its database.
Furthermore, the Twingle Shop integration will be completely optional, so that the behavior of this extension will not change in any way for users who do not use the Twingle Shop.
Tasks
This PR is work in progress!